﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;

namespace LoghogInterface.Modules
{
    /// <summary>
    /// Класс для работы с таблицей тегов
    /// </summary>
    class TagsSQLHelper
    {
        /// <summary>
        /// Схема базы данных
        /// </summary>
        private DBSchemeDataContextDataContext _database;

        public TagsSQLHelper()
        {
            _database = new DBSchemeDataContextDataContext(SQLQueries.ConnectionString());
            _database.Connection.Open();
        }

        /// <summary>
        /// Получить теги журнала
        /// </summary>
        /// <param name="idJournal">ID журнала</param>
        /// <returns>возвращает ObservableCollection с тегами</returns>
        public ObservableCollection<string> GetTags (int idJournal)
        {
            return new ObservableCollection<string>(from tag in _database.Tags where tag.JournalID == idJournal select tag.Name);
        }

        /// <summary>
        /// Добавить тег в базу данных
        /// </summary>
        /// <param name="tag">текст тега</param>
        /// <param name="idJournal">ID журнала</param>
        public void AddTag(string tag, int idJournal)
        {
            Tags tags = new Tags { Name = tag, JournalID = idJournal};
            _database.Tags.InsertOnSubmit(tags);
            _database.SubmitChanges();
        }
    }
}
